#include <QApplication>

#include <mainwindow.h>
#include <iostream>
#include "common.h"
#include "config.h"

#ifdef _WIN32
#include <windows.h>
#endif


int main(int argc, char *argv[])
{
#ifdef _WIN32
	Timer::hideConsole(); // 隐藏windows平台的控制台
	SetConsoleOutputCP(CP_UTF8); // 设置控制台编码为utf-8，防止乱码
#endif
	QApplication app(argc, argv);

	// 测试函数功能
	if(Timer::make_ConfigFile() != 0){
		std::cerr << "配置文件错误!" << std::endl;
	}

	using Timer::string_to_number;
	if(argc == 2){
		int num = string_to_number(argv[1]);
		switch (num) {
			case string_to_number("--help"):
			case string_to_number("-h"):
				Timer::help();
				break;
			case string_to_number("--version"):
			case string_to_number("-v"):
				Timer::version();
				break;
			default:
				std::cout << "参数错误：" << std::endl;
				std::cout << R"(没有 ")" << argv[1] << R"(" 这个参数)" << std::endl;
				break;
		}
	}else{
		Mainwindow window;
		window.show();
		return app.exec();
	}
	return 0;
}
